Content delivered over networks can be feature rich when rendered on the browser of a client, largely due to the rich capabilities built into complex markup languages, such as eXtensible Hypertext Markup Language (XHTML) and Cascading Style Sheets (CSS). XHTML, which is a markup language written in eXtensible Markup Language (XML), is an XML application. XHTML, which is HTML re-cast in XML syntax, is specifically designed for Internet device displays. XHTML uses XML namespaces. These XML namespaces are used to qualify element and attributes names by associating them with namespaces identified by Universal Resource Identifier (URI) references. Namespaces prevent identically custom-named tags that may be used in different XML documents from being interpreted the same. The specific syntax rules for an XML document, describing the tags and attributes allowed and the context in which they're allowed, are defined in the schema associated with the XML document. Schemas can be described by several means, including Document Type Definitions (DTDs) or XML Schema (XSD). Three common DTDs for XHTML family documents are strict, transitional, and frameset. An XHTML family conforming document will specify one of these schemas, or possibly a custom schema, and will associate all XHTML tags within that document with the XHTML namespace URI. These and other standards relative to XML, XHTML, and CSS are documented by the World Wide Web Consortium (W3C).
Valid XHTML markup must conform to the markup standards defined in an HTML schema (typically stored in a DTD or XSD file). In order to allow for extending XHTML for various applications and platforms, XHTML may go through a modularization process. A device designer, using standard building blocks, will specify which elements and attributes are supported. Content creators will then target these building blocks—or modules. Custom modules may be authored and added to a modularization to extend its capabilities for a particular application. A minimal subset of standard modules is required to be supported in order for a schema to be classified as an XHTML family. Because of this, a certain minimal bar of interoperability between different modularizations of XHTML is maintained.
Cascading Style Sheets (CSS) is a commonly supported styling language. CSS, for instance, can give both Web site developers and users more control over how web pages are displayed. With CSS, designers and users can create style sheets that define how different elements appear, such as headers and links. The style sheets also include typographical information on how the page should appear, such as the font of the text in the page. These style sheets can then be applied to any Web page. An XHTML (or other XML) document may reference a stylesheet explicitly. Additionally, an XHTML schema typically implicitly includes a CSS style sheet to define a default set of styles for the tags and attributes included in that schema. The term cascading derives from the fact that multiple styles may be combined deeply, or cascaded, to define the style for an element on a page. CSS and XHTML were developed by the W3C. Both XHTML and CSS are described at length in their respective governing specifications provided by the World Wide Web Consortium (W3C). A common computing device, such as a personal computer (PC), executes a browser application to render content that is expressed as CSS-styled XHTML, referred to herein as “XHTML+CSS”.
While a typical PC has sufficient resources to readily render XHTML+CSS using its browser, a computing device having considerably less memory and/or processor capacity can experience severe performance degradation in processing such content. Accordingly, there is an exemplary need in the art for techniques to transform content in an original complex markup language for rendering at a small resource computing device, where the transformation maintains much of the richness of the original complex markup language to allow the content to remain dynamic in nature.